#include <bits/stdc++.h>
using namespace std;

const int N = 2e5 + 10;

int n;
vector<int> g[N];

int p[N], sz[N], ans[N];

void dfs(int u, int f) {
    sz[u] = 1;
    for(int v : g[u])
        if(v != f) {
            dfs(v, u);
            sz[u] += sz[v];
        }
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);

    cin >> n;
    for(int i = 1, u, v; i < n; i ++) {
        cin >> u >> v;
        g[u].push_back(v);
        g[v].push_back(u);
    }

    dfs(1, 0);

    iota(p + 1, p + n + 1, 1);
    sort(p + 1, p + n + 1, [](int x, int y) {return sz[x] < sz[y];});
    for(int i = 1; i <= n; i ++)
        ans[p[i]] = i;
    for(int i = 1; i <= n; i ++)
        cout << ans[i] << " \n"[i == n];
    return 0;
}